Modern data centers have been moving into the realm of virtualization, where resources like CPU, memory, and disk are virtualized and shared among virtual machines. Typically, virtual machines are allocated fixed amounts of these resources in an effort to provide predictable and guaranteed performance. The network is one such resource where a lot of work has been done to provide performance isolation.
Software defined networking (SDN) has made long strides in virtualizing the network layer and providing better manageability of the control plane. But providing guarantees at the Internet Protocol (IP)/network layer (which generally does not have visibility of end-to-end connection semantics) does not necessarily translate into increases in the performance of data center applications, nor does it optimally utilize network resources of a data center. Ultimately, data center administrators are concerned about the performance of their applications and with providing performance guarantees to applications.
Existing network performance isolation mechanisms can be broadly categorized as rate-limiting techniques, which restrict the bandwidth of a given flow. Although these techniques can limit overall bandwidth usage, these techniques are unable to increase the bandwidth share of a flow, wasting network resources.
The headings provided herein are merely for convenience and do not necessarily affect the scope or meaning of the terms used.